package com.sg.dto.integration.component;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;

/**
 * @desc ExportDataDto
 * @使用场景
 */
@Data
public class ExportDataDto extends BaseDto implements Serializable {

    /**
     * 导出数据字段1
     */
    @ApiModelProperty("导出数据字段1")
    private String exportDataFields1;

    /**
     * 导出数据字段2
     */
    @ApiModelProperty("导出数据字段2")
    private String exportDataFields2;

    /**
     * 导出数据字段3
     */
    @ApiModelProperty("导出数据字段3")
    private String exportDataFields3;

    /**
     * 导出数据字段4
     */
    @ApiModelProperty("导出数据字段4")
    private String exportDataFields4;

    /**
     * 导出数据字段5
     */
    @ApiModelProperty("导出数据字段5")
    private String exportDataFields5;

    /**
     * 导出数据字段6
     */
    @ApiModelProperty("导出数据字段6")
    private String exportDataFields6;

    /**
     * 导出数据字段7
     */
    @ApiModelProperty("导出数据字段7")
    private String exportDataFields7;

    /**
     * 导出数据字段8
     */
    @ApiModelProperty("导出数据字段8")
    private String exportDataFields8;

    /**
     * 导出数据字段9
     */
    @ApiModelProperty("导出数据字段9")
    private String exportDataFields9;

    /**
     * 导出数据字段10
     */
    @ApiModelProperty("导出数据字段10")
    private String exportDataFields10;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        ExportDataDto that = (ExportDataDto) o;
        return (
                exportDataFields1 == that.exportDataFields1 &&
                        exportDataFields2 == that.exportDataFields2 &&
                        exportDataFields3 == that.exportDataFields3 &&
                        exportDataFields4 == that.exportDataFields4 &&
                        exportDataFields5 == that.exportDataFields5 &&
                        exportDataFields6 == that.exportDataFields6 &&
                        exportDataFields7 == that.exportDataFields7 &&
                        exportDataFields8 == that.exportDataFields8 &&
                        exportDataFields9 == that.exportDataFields9 &&
                        exportDataFields10 == that.exportDataFields10
        );
    }

    @Override
    public int hashCode() {
        return Objects.hash(
                super.hashCode(),
                exportDataFields1,
                exportDataFields2,
                exportDataFields3,
                exportDataFields4,
                exportDataFields5,
                exportDataFields6,
                exportDataFields7,
                exportDataFields8,
                exportDataFields9,
                exportDataFields10
        );
    }

}
